package FD;
import java.util.LinkedList;


public class FacturaRecibo {
	
	private int IdFacturaRecibo;
	private String NomeCliente;
	private int NIF;
	private String Morada;
	private LinkedList<LinhaFacturaRecibo> LinhasFacturaRecibo;
	private static int ULTIMOIDFACTURARECIBO = 0;
	
	public int getIdFacturaRecibo() {
		return IdFacturaRecibo;
	}

	public String getNomeCliente() {
		return NomeCliente;
	}

	public int getNIF() {
		return NIF;
	}

	public String getMorada() {
		return Morada;
	}

	public LinkedList<LinhaFacturaRecibo> getLinhasFacturaRecibo() {
		return LinhasFacturaRecibo;
	}

	
	public FacturaRecibo(String nomeCliente, int nIF, String morada) {
		this.NomeCliente = nomeCliente;
		this.NIF = nIF;
		this.Morada = morada;
		this.LinhasFacturaRecibo = new LinkedList<LinhaFacturaRecibo>();
		this.IdFacturaRecibo = ULTIMOIDFACTURARECIBO+1;
		ULTIMOIDFACTURARECIBO++;
	}

	public boolean contains(Produto produto) {
		for (LinhaFacturaRecibo linha : LinhasFacturaRecibo) {
			if(linha.getProduto().equals(produto)){
				return true;
			}
		}
		return false;
	}

	public void adicionaLinhaFacturaRecibo(LinhaFacturaRecibo l) {
		LinhasFacturaRecibo.add(l);
		
	}

	public void retiraProduto(Produto selectedItem, int unidades) {
		for (LinhaFacturaRecibo linha : LinhasFacturaRecibo) {
			if(linha.getProduto().equals(selectedItem)){
				linha.setQuantidade(linha.getQuantidade() - unidades);
			}
		}
		
	}
	
}
